﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HermesProxy.World.Objects
{
    public class ItemTemplate
    {
        public uint Entry;
        public int Class;
        public uint SubClass;
        public int SoundOverrideSubclass;
        public string[] Name = new string[4];
        public uint DisplayID;
        public int Quality;
        public uint Flags;
        public uint FlagsExtra;
        public uint BuyCount;
        public uint BuyPrice;
        public uint SellPrice;
        public int InventoryType;
        public uint AllowedClasses;
        public uint AllowedRaces;
        public uint ItemLevel;
        public uint RequiredLevel;
        public uint RequiredSkillId;
        public uint RequiredSkillLevel;
        public uint RequiredSpell;
        public uint RequiredHonorRank;
        public uint RequiredCityRank;
        public uint RequiredRepFaction;
        public uint RequiredRepValue;
        public int MaxCount;
        public int MaxStackSize;
        public uint ContainerSlots;
        public uint StatsCount;
        public int[] StatTypes = new int[10];
        public int[] StatValues = new int[10];
        public int ScalingStatDistribution;
        public uint ScalingStatValue;
        public float[] DamageMins = new float[5];
        public float[] DamageMaxs = new float[5];
        public int[] DamageTypes = new int[5];
        public uint Armor;
        public uint HolyResistance;
        public uint FireResistance;
        public uint NatureResistance;
        public uint FrostResistance;
        public uint ShadowResistance;
        public uint ArcaneResistance;
        public uint Delay;
        public int AmmoType;
        public float RangedMod;
        public int[] TriggeredSpellIds = new int[5];
        public int[] TriggeredSpellTypes = new int[5];
        public int[] TriggeredSpellCharges = new int[5];
        public int[] TriggeredSpellCooldowns = new int[5];
        public uint[] TriggeredSpellCategories = new uint[5];
        public int[] TriggeredSpellCategoryCooldowns = new int[5];
        public int Bonding;
        public string Description;
        public uint PageText;
        public int Language;
        public int PageMaterial;
        public uint StartQuestId;
        public uint LockId;
        public int Material;
        public int SheathType;
        public int RandomProperty;
        public uint RandomSuffix;
        public uint Block;
        public uint ItemSet;
        public uint MaxDurability;
        public uint AreaID;
        public int MapID;
        public uint BagFamily;
        public int TotemCategory;
        public int[] ItemSocketColors = new int[3];
        public uint[] SocketContent = new uint[3];
        public int SocketBonus;
        public int GemProperties;
        public int RequiredDisenchantSkill;
        public float ArmorDamageModifier;
        public uint Duration;
        public int ItemLimitCategory;
        public int HolidayID;
    }
}
